package com.lingnan.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lingnan.dto.InterviewDto;
import com.lingnan.entity.po.Interview;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lingnan.dto.InterviewQueryParam;
import com.lingnan.entity.vo.Result;

import java.util.List;

/**
* @author abc20
* @description 针对表【interview(面试安排记录表)】的数据库操作Service
* @createDate 2025-07-16 10:16:50
*/
public interface InterviewService extends IService<Interview> {

    //分页多条件查询面试安排记录
    IPage<InterviewDto> getListByQueryParam(int pageNum, int pageSize, InterviewQueryParam queryParam);

    /**
     * 更新面试状态
     * @param request 面试信息
     * @return 更新结果
     */
    boolean updateInterviewStatus(Interview request);

    /**
     * 面试官添加反馈意见
     * @param interviewId 面试ID
     * @param feedback 反馈内容
     * @return 更新结果
     */
    boolean addInterviewerFeedback(Integer interviewId, String feedback);

    //创建面试安排
    public Interview createInterview(Interview interview);

    //根据主键获取面试安排
    public Interview getInterviewById(Long id);

    //根据HRid获取面试安排
    public List<Interview> getInterviewByHrId(Long id);

    //更新面试安排
    public boolean updateInterview(Interview interview);

    //删除面试安排
    public boolean deleteInterview(Long id);

    //根据applicationId获取面试安排
    List<Interview> getInterviewsByApplicationId(Long applicationId);

    //根据applicationId删除面试安排
    Boolean deleteInterviewsByApplicationId(Long applicationId);
}
